Systems &amp; methods for allocating bandwidth in switched digital video systems based on interest

ABSTRACT

Systems and methods for allocating bandwidth in a switched digital video (SDV) system based on channel interest. In some embodiments, bandwidth is deallocated from channels and allocated to requested channels having a higher interest. Tiered approaches for allocating bandwidth are disclosed. Embodiments in which QAMs are allocated across services in a multi-service system based on interest are also disclosed. Embodiments for accommodating emergency access system (EAS) functionality in a SDV system are also disclosed.

BACKGROUND OF THE INVENTION

This invention relates to video distribution systems and morespecifically switched digital video (SDV) technologies for improving theutilization of available bandwidth on these distribution systems.

In the current state of the art, SDV systems allocate channels toavailable bandwidth. Switched channels are assigned to availablefrequencies as they are requested. Today's SDV systems are typicallydesigned with the assumption that the number of channels being requestedwill not exceed the available bandwidth. Thus, bandwidth constraints donot generally result in users being blocked from accessing channels theyrequest. As video distribution systems evolve, however, the growingnumber of media sources and end-users may render this assumptioninvalid, as the probability that the interest for sources will exceedthe amount of available bandwidth will increase. SUMMARY OF THEINVENTION

In accordance with the principles of the present invention, systems andmethods are provided for considering the interest for channels beforeallocation so that at any given time the channels with the greatestnumber of requesters are given preference in being allocated to theavailable bandwidth. By contemplating interest before allocation, onlychannels that have met a minimum threshold of requesters are madeavailable, keeping bandwidth available for the most requested channels.

In some embodiments, systems and methods are provided for consideringthe interest of each allocated channel following allocation so that atany time a channel with very few users may be de-allocated from thebandwidth to make room for another channel with a relatively largernumber of requesters.

A channel-interest manager considers the relative priority of arequested channel before allocating it to bandwidth. Thechannel-interest manager operates between the SDV server and an SDVclient running on a user's equipment (e.g., set-top box, hereinafter“STB”). The channel-interest manager calculates the priority of acurrently unallocated channel and determines whether that channel shouldbe allocated, at least in part as a function of the interest for thatchannel relative to other channels in the system. The channel-interestmanager may be any combination of hardware and software suitable forthis purpose (e.g., one or more processors, memory, storage, etc., wherethe processors are programmed with suitable programming logic to performthe functions of the channel-interest manager). As understood to oneskilled in the art, the channel-interest manager may be implemented on astand alone server, co-hosted on a server with other applications, orintegrated as part of another system application (e.g., the SDV manager)and operate cooperatively or as part of a system or SDV policy managerwhich considers other characteristics of the system in making dynamicdecisions on which channels to allocate.

The channel-interest manager allocates the requested channel toavailable bandwidth if it meets the interest threshold and there issufficient bandwidth available. If there is insufficient bandwidth, thechannel-interest manager allocates the requested channel (afterde-allocating or “bumping” another channel) if the requested channelmeets the interest threshold and has a greater interest relative toother allocated channels. The channel-interest manager may determinethat interest for a channel exceeds the interest threshold using anysuitable approach.

In some embodiments, a request for an SDV channel is counted when arequester “parks” on it by tuning to it in an attempt to watch it andwaiting until a channel is switched in. The channel-interest manager maydecrement a request count when a requester tunes away. Thechannel-interest manager may also tag a requester who tunes away as“previously interested” so that when the channel is allocated at somefuture time, the “previously interested” requester may be notified. Inother embodiments, requests are counted when a requester “votes” for thechannel's allocation in advance of the scheduled time for theprogramming (e.g., such as by scheduling a reminder or a recording for aprogram). In various embodiments, feedback may be provided to therequester as to likelihood of channel allocation. The feedback can beused with an inter-active feature to give the requester the option towait longer for possible allocation, or to tell the manager he or she isno longer interested. The allocation can also occur automatically withno interaction with the user.

In some embodiments, the channel-interest manager is made aware ofprogram boundaries on switched channels. With this information, thechannel-interest manager may determine that voting or parking by userson a channel at a particular timeframe represents interest in thecontent that is scheduled for that channel at the given timeframe (e.g.,the start of the program).

Delays may occur in the allocation of the channel as a result of thevoting and/or parking interest for the channel remaining below thethreshold for the allocation of the channel. These delays might normallyresult in the users missing the beginning of the programming on thechannel.

However, in some embodiments, when the channel interest manager detectsthat the channel interest for a channel may actually be a channelinterest for a program beginning on that channel at a particular timebut that the allocation may involve delays beyond that particulartimeframe, it may buffer the channel for the users.

Such buffering may be accomplished by the channel-interest managerrouting the channel content to a channel buffering subsystem until suchtime as the channel becomes available. Upon allocation of the channel,users may then be presented with the options of (a) joining the programin progress and missing the beginning or (b) watching the program fromthe beginning (e.g., similar to a start-over function). In the lattercase, if the program is watched in real time, it's viewing may runbeyond the beginning of the next program scheduled on this or anotherchannel and this may be undesirable to the user. Therefore, in someembodiments, an option of watching the program in faster than real timeis provided, or alternatively an option of skipping through someportions of the program may be enabled. This embodiment allows theprogram to fit into its regularly scheduled timeslot. Audio may be pitchcontrolled (e.g., by means of an audio processing technique such as thecomplex cepstrum) to maintain as close to the original pitch as thereal-time playback while allowing the audio to be sped up insynchronization with the video.

In some embodiments, the SDV client may offer the requesteradvertisements while the requester waits for allocation of bandwidth fora channel. In some embodiments, a delayed allocation is anticipated, aflexible number of advertisements or “filler” programming is provided(e.g., locally stored on a user's hard drive) and programs arepre-edited so they occupy less than the full time slot to accommodatethese additional up-front advertisements or filler without loss ofmeaningful content (e.g., the conclusion to a detective program).

When sufficient bandwidth does not exist for a requested channel, thechannel-interest manager may allocate bandwidth for the channel usingany suitable approach. In some embodiments, a requested switched channel(or a previously switched in channel) may be degraded to a version thatrequires less bandwidth (e.g., SD rather than HD) before allocation ismade. In other embodiments, requested channels meeting the interestthreshold may “bump” a previously allocated channel with lower relativeinterest.

In some embodiments, the channel-interest manager may consider various“bump parameters” before de-allocating a channel. For example, thechannel-interest manager may compare how long an allocated channel hasbeen allocated with a “no-bump” threshold time and decide not to bump aprogram that might otherwise have been bumped if not for the fact thatthe program's allocation time exceeded this no-bump threshold and itsde-allocation might be particularly disruptive to a viewer. A no-bumpthreshold might be, for example, ten minutes, or long enough for awatcher to become somewhat involved in the program he/she is watching.

In other embodiments, the channel-interest manager may work with arevenue manager and/or a trend manager and the interest may beconsidered in light of revenue impacts and trends before a channel isde-allocated. A revenue manager is software and/or hardware (e.g., oneor more processors, memory, storage, etc., where the processors areprogrammed with suitable programming logic to perform the functions ofthe revenue manager) that compares the revenue potential (e.g., as aresult of associated advertisement or pay-per-view fees) of thepreviously allocated channel to a requested channel before decidingwhether or not to de-allocate the previously allocated channel. A trendmanager is software and/or hardware (e.g., one or more processors,memory, storage, etc., where the processors are programmed with suitablelogic to perform the functions of the trend manager) that measures thepreviously allocated channel's viewer activity over time beforede-allocation. For example, if several users have tuned away from achannel at a given time it could just be because a commercial is presentat that time, rather than an indication of waning interest. The numberof users currently tuned at any given instant might not be an accurateindication of interest in such a scenario, and de-allocation of thechannel would not be desirable or appropriate unless the general trendwas moving in the direction of waning viewership over time. As anotherexample, consider that a trend manager and a channel-interest manager,working alone or together, may de-allocate a first channel relative toanother if the viewership of the first channel is below the otherchannel, however, when a revenue manager is employed, it may bring intoconsideration the revenue associated with viewership of the firstchannel as well. So, for example, if the first channel has advertisementspots that paid the video service provider twice per viewer what theadvertisement spots on the other channel paid, it may be worthmaintaining the allocation of the first channel until viewership of thefirst channel dropped below half viewership of the other channel. Thetrend manager would be invoked to insure that the maximized revenuetrend is likely to be sustained.

In some embodiments, the interest management system may offer arequester, or a bumped-user, one or more options when a channel is notallocated immediately upon request. For example, in one embodiment, arequester may be provided with the option to watch the unavailableprogram as a pay-per-view program. The SDV channel may then temporarilybe provided as a VOD stream and the user may be charged. Alternativelyor additionally, the requester may be provided the option to set up arecording to record the program if it becomes available at a later timeon a broadcast channel or via a switched channel at a time (e.g., earlymorning) when demand for bandwidth may have decreased. In someembodiments, the requester or bumped-user may be provided with an optionto watch related content. In some embodiments the requester may beprovided with an option to watch content that is popular at the moment.This feature may be extended in some embodiments to notify all userswhen a particular channel is extremely popular at any given time (e.g.,breaking news).

In some embodiments, the channel-interest manager detects programoverruns or other last minute scheduling changes associated withprograms on non-SDV channels (e.g., broadcast channels). Thechannel-interest manager may then compare the number of viewersinterested in watching these program overruns with the number of viewersinterested in watching the regularly scheduled programming for thosechannels. This statistic may then be sent to the video service providerfor consideration before determining which program to allocate to itsregularly allocated broadcast bandwidth and which to make optionallyavailable (subject to interest and available bandwidth) on its switchedbandwidth allocation. The program not chosen for the regular broadcastbandwidth may be provided via SDV if the interest threshold is met.Moving a program overrun from a broadcast channel to a switched tierchannel gives the video service provider the ability to allow viewers towatch the overrun if there is interest while not disturbing theregularly scheduled programming lineup that had been published for thebroadcast channel. For example, if on the FOX network, a football gameis scheduled from 7-9 PM followed by “House” at 9 PM, and it turns outthat the game goes into overtime, the interest management system, in oneembodiment, may cause a message to be displayed to a user via theon-screen display of a video terminal (e.g., STB) providing the userwith the option to continue to watch the currently watched program orwatch “House.” Then, depending on interest, the user may be switched(seamlessly or not) to a channel where he can either watch thecontinuation of the overrun game or the episode of “House.” In someembodiments, an option may also be provided (e.g., on a dual tuner STB)to record the program that is not watched. In some cases, ifinsufficient interest is logged for watching the end of the overrunprogram (e.g., e.g., the game is between two non-local teams of littleinterest to begin with) the overrun may not be made available at all andthis fact may be provided to the potential watchers.

In some embodiments, channels of the SDV system are assigned to tiers.For example, there may be one SDV premium tier and discount tiers 1, 2,3, etc. Lower tiers may, for example, be associated with a larger tunedelay (all the way to not available) and a lower probability of beingallocated.

The channel-interest manager may also allocate bandwidth for a programin a mixed-service system as a function of one channel's interestrelative to another's and in some embodiments, additionally, the impacton revenue. For example, the channel-interest manager may consider therelative priority of VOD and SDV by considering the interest and revenuepotential of each. In this way, VOD and SDV are competing for the samebandwidth and when no bandwidth is left, one channel must be blocked. Inthis example, the channel-interest manager allocates the bandwidth tothe channel with the higher priority based on interest and revenuepotential with the interest “registered” in advance by any of themechanisms discussed thus far, including trending of advance requests towatch a particular program, consideration of trends for related programsor channels, consideration of the trend of users who watch a channelthrough program changes, etc.

In another embodiment, Emergency Alerts may be provided using a switchedchannel. This makes a good deal of sense given that Emergency Alerts arefew and far between and it is thus wasteful to allocate a full channelto emergency alert when it is rarely watched. However, in the prior art,emergency alerts are always assumed to be on non-switched channelsbecause of their importance and because of the classical way in whichemergency alert are handled in video distribution systems such as Cablesystems. In the first case, there is concern that in a classical SDVsystem, there is some small blocking probability for any switchedchannel and this blocking probability is independent of the interest forthat channel. In some embodiments of the present invention, however,blocking probability is inversely proportional to the interest for achannel during a given window of time (e.g., the “interest assessmentinterval”). In classical emergency alert systems, when a STB receives anEAS alert, it is force tuned to the EAS channel. Under thiscircumstance, in the present invention, this would cause a peak ininterest for the EAS channel (given that all STBs are requesting itconcurrently) and this high interest for use would logically, absentrevenue considerations, result in the EAS channel being quicklyallocated. To avoid flooding the network with requests coincidentallyfrom multiple video terminals, in some embodiments of the presentinvention, the EAS switched channel is treated as a special case by aSTB wherein requests for it are delayed by a random backoff before beingsent to the SDV server.

In some embodiments, all force tunes are treated with a random backoffbefore request in anticipation of these force tunes being sent tomultiple terminals concurrently. In some embodiments, a flag is sentwith a force tune to indicate that it is a broadcast or groupcast forcetune and therefore should result in a random backoff before the channelis requested. When the channel-interest manager receives numerousrequests that exceed the interest threshold, the EAS channel is thenallocated to bandwidth that is ordinarily free for other channels absentan emergency.

In some embodiments, the EAS channel tuning information may be stored ina carousel data feed with a time to live of infinity (as a specialmechanism only used for EAS) so that it persists in the carousel feed asan “active” channel and does not require a server response of whichfrequency and program number to use to tune the channel. Thus emergencyalert channel tuning can be very fast. In such embodiments, though theEAS channel is listed as active in the carousel, it may not actually beallocated to the bandwidth until the alert is active. This embodimentinvolves notification of the server of the alert event, in which casethe server switches the appropriate EAS program into the carouseledfrequency and program number. The purpose of having the channel listedin the carousel is so that the STBs will know where to tune very quicklywithout having to request the channel from the server. The EAS channelis typically “hidden” from the user. The frequency and program numberthat is “reserved” for EAS may actually be in use for a “visible”channel. For example, in a cable system such as Comcast's cable systems,a hidden virtual channel number and a specific frequency and programnumber may be set aside for EAS. For example, frequency 550, program #3and an infrequently watched channel such as “the muppets channel” may beallocated to virtual channel 53, frequency 550, program #2, the virtualchannel number 53 being visible to the user.

Up to this point we have discussed the operation of the channel-interestmanager primarily with respect to single-tuner STBs. However, it isanticipated that the manager will function similarly with respect tomultiple-tuner STBs and STBs with the ability to handle multiplechannels per tuner (e.g., multiple IP stream-based video/audio servicesor multiple channels within a multiple-service transport multiplex).

A multiple-tuner STB includes multiple tuners each with at least oneassociated decoder. Such a STB can tune to more than one channel at atime. A dual-tuner STB, for example, can tune to two frequenciessimultaneously. Each tuner can extract a program from the multiplex itfinds at its tuned frequency and an associated decoder can be used todecode the program. Thus, a dual tuner STB may be able to tune, extract,decode, and display two programs from two channels simultaneously. Notethat the frequency and program number tuned by one tuner may be the sameor different than the frequency or program number tuned by the othertuner.

In embodiments of the channel-interest manager system wheremultiple-tuner STBs are supported, the channel-interest manager mayreceive and manage requests and interest on a per-tuner basis instead ofon a per-STB basis. In such embodiments, for example, with a thresholdof two set for a channel, a single STB may meet that threshold of two byattempting to tune to the channel with both tuners. Also in suchembodiments, two STBs, each STB tuned with one tuner to channel A, forexample, and each STB tuned with the other tuner to channel B, forexample, may result in an interest of two being logged for each ofchannels A and B at the channel-interest manager. Similar considerationwould be given to multiple tuner STBs with greater numbers of tuners perSTB (e.g., triple- and quad-tuner STBs or home media managers withmultiple tuners). In such embodiments, both a tuner identifier and a STBidentifier may be sent in the channel-request message from the STB tothe channel-interest manager. In some STBs, there are multiple decodersavailable to each tuner. So, for example, such a STB with only a singletuner decodes and displays more than one channel at a time.

In embodiments of the channel-interest manager system where STBs withmultiple decoders per tuner are supported, the channel-interest managermay receive and manage requests and interest on a per-decoder basisinstead of on a per-STB or per-tuner basis. In such embodiments, forexample, with a threshold of two set for a channel, it may be possiblefor a single-tuner STB with a concurrent decode capability of twodecoders to meet that threshold by attempting to decode the same programfrom the same frequency using both decoders to the channel with bothtuners. In such embodiments, a decoder identifier, in addition to a STBidentifier, and perhaps a tuner identifier may be sent in thechannel-request message from the STB to the channel-interest manager.Note that IP-video based STBs, including those which conform to theDOCSIS standard as well as those that utilize fiber to the curb or fiberto the home technology, typically are of the latter type of system whichinvolve having multiple decoders per tuner. In the case of fiber opticsupported STBs, the tuner may be replaced with the appropriate fiberoptic receiver and switching circuitry.

BRIEF DESCRIPTION OF THE DRAWINGS

The above and other features of the present invention, its nature andvarious advantages will be more apparent upon consideration of thefollowing detailed description, taken in conjunction with theaccompanying drawings, in which:

FIG. 1 is a diagram of an illustrative switched digital video system inaccordance with one embodiment of the present invention;

FIG. 2 is a flow chart of an illustrative method for allocatingbandwidth after first considering interest in accordance with oneembodiment of the present invention;

FIG. 3 is a flow chart of an illustrative method for providing optionsto a requester when a channel is not available in accordance with oneembodiment of the present invention;

FIG. 4 is a flow chart of an illustrative method for allocatingbandwidth based on interest when a currently-allocated channel fails dueto failed QAM in accordance with one embodiment of the presentinvention;

FIG. 5 is a flow chart of an illustrative method for de-allocating arelatively less requested channel in accordance with one embodiment ofthe present invention;

FIG. 6 is a flow chart of an illustrative method for consideringparameters before de-allocating a channel in accordance with oneembodiment of the present invention;

FIG. 7 is a flow chart of an illustrative method for degrading channelswhen bandwidth is becoming scarce in accordance with one embodiment ofthe present invention;

FIG. 8 is a flow chart of an illustrative method for detecting allocatedprogram overruns and providing options based on interest in accordancewith one embodiment of the present invention.

FIGS. 9A-9P show illustrative interactive media guidance applicationmenu display screens in accordance with various embodiments of thepresent invention.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

FIG. 1 shows an illustrative switched digital video system in accordancewith one embodiment of the present invention. In system 100, servicesand related content flow from sources 111 on the left, to user's set-topboxes (STBs) 105 on the right. In this example, there are four services.Sources 111 may be any suitable combination of hardware and software forproviding the indicated services to edge device 110 via network 109.Source 112 provides: data and voice services (e.g., via modular cablemodem termination system (M-CMTS) 112 which provides IP services overcable according to the data over cable system interface specifications(DOCSIS) published by CableLabs at www.cablelabs.com) such as video overIP and voice over IP (VOIP) services. Source 113 provides video for avideo-rich-navigation (VRN) based interactive program guide (VRN guidesare described in, for example, U.S. patent application Ser. No.11/395,380, filed Mar. 30, 2006, which is hereby incorporated byreference herein in its entirety). Source 114 provides televisionchannels as video streams for a switched digital video service. Source115 provides video streams for a video-on-demand service. This list ofsources is illustrative and it should be understood that any suitableservices 111 may be included in the switched digital video system (e.g.,Internet services).

Sources 111-115 modulate and packetize their services for transmissionover network 109 to edge device 110. Network 109 may be, for example, agigabit Ethernet network, and sources 111-115 may provide their servicesvia TCP/IP and Ethernet and may include use of MPEG transport protocol.Edge device 110 (e.g., a Harmonic NGS9000 edge-QAM manufactured byHarmonic Corporation of Sunnyvale, Calif.) includes a bank ofmodulators. Each modulator (e.g., quadrature amplitude modulators) mayaccept a digital transport stream of roughly 3 Mbps representing a videoprogram, multiplex it with other video transport streams, create atransport stream multiplex and modulate it onto the cable plant. A256-QAM modulator, for example, will accept multiple digital transportstreams (comprising a multiplex of approximately 45 Mbps) and modulateit to fit within an analog bandwidth of 6 MHz on a cable plant. Edgedevice 110 receives the services from network 109 and, under the controlof edge resource manager (ERM) 108, allocates portions of modulators tothe services. For example, edge device 110 may receive a command fromERM 108 to connect to a 3 Mbps service from network 109 that originatedfrom a broadcast program source feeding SDV block 114. It may thenallocate a program within one of its internal 256-QAM modulators. Edgedevice 110 may allocate a portion of a given QAM to VOD 115, instead ofVRN 113, depending on the instructions from ERM 108. Or, edge device 110may allocate QAMs (or not) among different channels of the SDV service114. In this regard, QAMs may be shared flexibly and dynamically acrossservices, or allocated in a fixed manner to specific SDV channels. Forexample, in a given configuration, four QAMs of an eight QAM edge devicemay be allocated to switched channels, two to VOD, one to cable modem,and one to VRN.

Edge device 110 allocates and de-allocates QAMs under the control of ERM108. ERM 108 may be any suitable combination of hardware and softwarefor performing its features described herein. For example, it mayinclude control circuitry having include one or more processors (e.g.,MIPs and/or Motorola 68000 family processors), memory (e.g., RAM, ROM,flash memory, and hard disks), communications circuitry, and any othersuitable components for providing its features described herein. ERM 108activates a controllable switch in network 109 (not shown) betweennetwork 109 and edge device 110 to direct what services (or portions ofservices) are coupled to the inputs of edge device 110. ERM 108instructs edge device 110 to QAM modulate an input signal onto a carrierfrequency. ERM 108 may specify a QAM and track what services or channelsare modulated on given QAMs (e.g., using a lookup table), or may simplyinstruct edge device 110 to allocate a given input and edge device 110returns the carrier frequency and program number. ERM 108 typicallyinforms switched-services session manager (session manager) 101 of thecarrier frequency and program number where the channel can be found. Thesession manager 101 in turn inserts this information into the activechannels list in carousel data feed 106. Carousel data feed 106 acts asa quick-lookup channel map for set-top boxes 105. Carousel 106 may betransmitted in-band with, or out-of-band from, the other channels and/orservices on a cable plant.

Edge device 110 modulates services and channels and transmits them toSTBs 105 of a plurality of subscribers over, for example, an analog ordigital cable plant or via an analog or digital terrestrial broadcastsystem. For clarity, FIG. 1 shows only the embodiment where edge device110 transmits the channels and/or services over a single path 116. Path116 may be a standard hybrid fiber/coax path, full fiber path orsatellite, or other high speed data path. In some embodiments, InternetProtocol (IP) is used to transmit the channels and/or services to STBs105.

STBs 105 include switched digital video clients 107. In someembodiments, clients 107 communicate with an interactive media guidanceapplication also implemented on the STBs 105, such as an interactivetelevision program guide, via a suitable application programminginterface (the guide application is not shown to avoid over-clutteringthe figure). In other embodiments, the interactive media guidanceapplication includes switched digital video functionality.

Although in the disclosed embodiment client 107 runs on STB 105, anyequipment suitable for accessing SDV may be used. For example, apersonal computer with a television card and/or Open CableUnidirectional Receiver (OCUR) (PCTV). STB 105 may be any suitablesettop such as, for example, a DCT 2000, 2500, 5100, 6208 or 6412set-top box provided by Motorola, Inc.

STB 105 may include any suitable control circuitry, display circuitry,communications circuitry, memory, etc. The control circuitry may includeone or more tuners (e.g., analog or digital tuners), encoders anddecoders (e.g., MPEG encoders and decoders), processors (e.g., MIPsand/or Motorola 68000 family processors), memory (e.g., RAM, ROM, flashmemory, and hard disks), communications circuitry (e.g., cable modem andATSC 256QAM receiver circuitry), input/output circuitry (e.g., graphicscircuitry), and any other suitable components for providing analog ordigital television programming in an SDV system.

A display device such as a television, and a remote control, may becoupled to STB 105 to display various displays and receive user inputs.The operation of control and other circuitry in a STB is well known tothose skilled in the art. The control circuitry is adapted to receiveuser input from input device 108, execute the instructions of client 107(using suitable microprocessors, memory, etc.), execute the instructionsof any other interactive applications (e.g., an interactive televisionprogram guide), and direct the display circuitry to generate a display.

Whatever the chosen approach, client 107 detects a user channel/servicechange and determines whether the desired channel or service iscurrently allocated by examining carousel 106. A user may indicate adesire to change channels by, for example, tuning using arrow keys on aremote, entering a channel number on a remote, or using any suitableinteractive media guidance function that allows the user to select aprogram or source. A user may indicate a desire to change services by,for example, linking to a VOD service from a television channel, oraccessing a service via the interactive media guidance application. Insome embodiments, carousel 106 is not used or only used under somecircumstances. Typically, however, if a carousel is used, client 107will first check the carousel when it desires to tune to a channel tosee if it has already been allocated. If a channel has not already beenallocated, client 107 issues a request to switched-services sessionmanager 101 for the frequency of the QAM and program number within thatQAM frequency where the channel or service may be found.

As described in more detail below, before allocating a channel, sessionmanager 101 determines whether there is sufficient bandwidth and/orinterest for the requested channel. In response to determining ifsufficient interest exists, session manager 101 instructs ERM 108 toallocate bandwidth for the channel and, if necessary, to firstde-allocate another channel or service to free-up the requiredbandwidth.

A channel-interest manager 102, which determines the interest fordifferent channels and services, is embedded within switched-servicessession manager 101. Channel-interest manager 102 can work alone, or incooperation with revenue manager 103, which assigns priority based onpotential revenue of each channel or service that may be allocated orpotential loss associated with each channel that may be deallocated, andtrend manager 104, which considers viewer trends to determine if viewersare active. Channel-interest manager 102 may be any suitable combinationof hardware and software for performing its features described herein.For example, channel-interest manager 102 may include control circuitryhaving include one or more processors (e.g., MIPs and/or Motorola 68000family processors), memory (e.g., RAM, ROM, flash memory, and harddisks), communications circuitry, and any other suitable components forproviding its features described herein. Trend manager 104 may be anysuitable combination of hardware and software for performing thefeatures described herein. For example, trend manager 104 may includecontrol circuitry having include one or more processors (e.g., MIPsand/or Motorola 68000 family processors), memory (e.g., RAM, ROM, flashmemory, and hard disks), communications circuitry, and any othersuitable components for providing the features described herein.

When a request for a channel is made from a STB 105, the STB's localcopy of the data from carousel 106 is first checked to see if thatchannel has already been allocated bandwidth and whether the allocatedfrequency and program number is stored in the carouseled channel map. Ifthe channel map does not contain the requested channel, client 107 thensends the request to switched-services session manager 101. Sessionmanager 101 communicates with channel-interest manager 102, which thenperforms the algorithms necessary to determine if a channel is to beallocated to bandwidth and if a currently allocated channel may bebumped (See FIGS. 2-8). Session manager 101 may also communicate withrevenue manager 103 and trend manager 104 in a like manner and/or otherexternal information sources that may aid in the decision.

Switched-services session manager 101 then tells ERM 108 that anunallocated channel 111 should be allocated to available bandwidth(either already available or available after bumping another channel).ERM 108 communicates with edge device 110 to first deallocate any bumpedchannels, (or alternatively degrade HD channels to SD, or take othermeasures to free bandwidth, including changing the partition of QAMsbetween service types, e.g., VOD and SDV), and allocate the new channelsto edge device 110. During the new allocation, the new channel is thenlinked from the network to the newly allocated QAM program number. Forexample, in some embodiments, network 109 is a gigabit Ethernet networkand edge device 110 is linked to network 109 via a switch. When edgedevice 110 wants to connect to a service that is carried over IP on thegigabit network 109, it registers a multicast join with the switch. Edgedevice 110 communicates the frequency for the new channel to ERM 108,which in turn provides this information to session manager 101, whichupdates the channel map in carousel 106. Edge device 110 modulates therequested channel on the allocated frequency and program number where itis ultimately received by STB 105. STB 105 receives the new frequencyfor the channel by checking the channel map in carousel 106 or viadirect response to a channel tune request via session manager 101 andtunes to the frequency/program number to watch the program.

In some embodiments, the Emergency Alert System (EAS) channel isprovided using SDV. When a STB receives an EAS alert, channel-interestmanager 102 (FIG. 1) receives numerous requests such that the interestquickly exceeds a interest threshold set for channel allocation. The EASchannel is thus allocated to bandwidth that is ordinarily free for otherchannels absent an emergency. In some embodiments, the EAS channelinformation may be included in carousel data feed 106 with a time tolive of infinity (as a special mechanism only used for EAS) so that itpersists in the carousel feed but on a hidden channel that is nottunable directly by a user. Special provision is made for the EASchannel such that unlike other switched channels in the carousel, it isnever really allocated to the bandwidth until the interest threshold ismet even though it is shown as active in the carousel so that theclients 107 of STBs 105 may quickly determine where to direct the STB'sto tune without having to request the channel from the server. Inresponse to the EAS alert, ERM 108 directs Edge device 110 to switch inthe channel for the EAS (not shown) to the designated QAM frequency andprogram number. Clients 107 respond to the alert by examining thecarousel and directing STBs 105 to tune to the indicated QAM frequencyand program number.

In other embodiments, STB requests for EAS channel are preceded with arandom backoff and the first STB's request for the EAS channel that getsthrough the session manager causes ERM 108 to allocate the EAS channel.The session manager 101 in turn updates the channel map in the carouselto reflect the EAS channel as active. Once the frequency and programnumber assigned to the EAS channel is stored on the carousel as,subsequent pending tune requests for the EAS channel will be managedlocally by the STB via look up of the frequency and program number forthe EAS channel directly from the cached carousel. This results inreduction of upstream traffic that would otherwise result from a largenumber of STBs concurrently requesting the same channel.

FIG. 2 shows an illustrative method for allocating bandwidth based oninterest in accordance with one embodiment of the present invention. Themethod in FIG. 2 is carried out by channel-interest manager 102 shown inFIG. 1. Channel-interest manager 102 (FIG. 1) keeps a dynamic channelinterest calculation that is updated (step 206) when an unallocatedchannel is requested from STB 105 (FIG. 1). Channel interest may includemany different request types to help it prioritize which channels willultimately be allocated. Some exemplary request types are parking-basedrequests and voting-based requests, such as recording-based requests andreminder-based requests. In some embodiments, the various request typesmay be “weighted” using any suitable weighting algorithm. The weightingalgorithm may be used in calculating the channel interest according tostep 206. For example, parking-based requests may be weighted moreheavily than voting-based requests, and, even among votes,recording-based requests may be weighted more heavily than reminders. Insome embodiments, the algorithm for determining interest in the channelincludes a weighted sum of these requests.

When a user attempts to tune to a channel that is presently unallocatedand the user “parks” (i.e., does not tune away from) on the channel inanticipation of eventual interest-dependent allocation, this isclassified as a parking request. Such a request may or may not beexplicitly understood to the user as “parking.” For example, in someembodiments, when a user attempts to tune to a switched channel, theuser may be presented with a “one moment please” (OMP) message while thesystem determines whether or not to allocate the channel based oninterest measured, in one case, within a specified window of time. Ifthis window of time is small enough (e.g., less than six seconds) andthe decision to allocate the channel is made relatively quickly, the OMPwill be removed, the STB will tune to the newly allocated channel, andthere may be no explicit indication to the user that any parking and/orallocation decision was going on behind the scenes. If, however, thedecision is made to not allocate the channel, or if the decision willtake longer, in some embodiments, various degrees of feedback may beprovided to the user relating this information to them. This feedbackmay be in the form of a text message (e.g., “The requested channel ispresently unavailable.”) or a graphic (e.g., a bar graph showinginterest relative to threshold) or combinations of the two. Typically,when a user “parks” on a channel, they are executing a persistentrequest to watch a program which has just substantially started or is inprogress. In some embodiments, a distinction is provided betweenrequesting a channel and requesting a program on that channel.

Alternatively, though similarly, a user may choose to “vote” for achannel or a program on a channel. In voting-based requesting, a usermay vote concurrently for one or more channels (or programs) he may wishto watch. In some cases, parking can be seen as a special case ofvoting. When voting, a user may vote for multiple different channels orprograms to be allocated, in some situations, specifying relativepriority. In some embodiments, the priority may be considered in theweighting algorithm used to calculate channel interest.

A user may also vote by recording a channel or program on a channel orby setting a reminder for a program on a channel. In some embodiments,recording-based requests and reminder-based requests may be weighted asless than a full request since the requester may ultimately decide notto watch the channel.

Referring to FIG. 2, in step 201, session manager 101 (FIG. 1) receivesa request for a presently unallocated channel from a STB.Channel-interest manager 102 receives a request from client 107 (FIG. 1)by any of the methods discussed above (“parking” on a presentlyunallocated channel in anticipation of it being allocated or “voting”for a channel).

Once a request is received (step 201), session manager 101 (FIG. 1)communicates with ERM 108 (FIG. 1) to measure the amount of availablebandwidth (step 202) and then classifies the bandwidth as open, scarce,or full (step 203). A classification of open signifies that there isample space on the bandwidth to allocate a substantial number of newrequests, scarce signifies that only a limited amount of space remains,and full signifies that no space remains. These classifications may bebased on any threshold amount of space that the ERM programmerdetermines appropriate. When the bandwidth is open, the requestedchannel is allocated (step 204). If the bandwidth is scarce or full,session manager 101 logs the originator (STB) of the request, tags thatrequester as “interested” (step 205), and updates the channel interestfor that channel (step 206).

Next, channel-interest manager 102 (FIG. 1) compares the interest andthe interest threshold (step 207). While the interest remains lower thanthe threshold, channel-interest manager 102 (FIG. 1) calculates theprobability of allocation (step 208) and then sends that probability toclient 107 (FIG. 1) previously marked “interested” (step 209). Theclient 107 (FIG. 1) then gives the requester options while waiting forallocation (step 210) (e.g., FIG. 3). Once the interest for anunallocated channel exceeds the interest threshold, the channel isallocated subject to whether there is another channel that can be bumpedbased on low relative channel interest (e.g., FIGS. 5 and 6) or whetherthe channel has lower quality version available (e.g., SD version ratherthan HD version as shown in FIG. 7). These conditions will be discussedin greater detail in FIGS. 5-7.

FIG. 3 shows an illustrative method for providing a requester optionswhen a channel is not available in accordance with one embodiment of thepresent invention. When a channel is not available (or made available),client 107 (FIG. 1) simultaneously gives the requester a number ofoptions (FIG. 2, step 210). In one option, the requester may choose towatch “related content” (step 301). If this option is chosen, client 107(FIG. 1) retrieves an allocated channel frequency from carousel 106(FIG. 1) with similar content as the channel requested and sends it toclient 107 (FIG. 1) so that STB 105 (FIG. 1) may tune to that channel(step 302). Session manager 101 (FIG. 1) may classify channels asrelated based on any suitable method. For example, session manager 101may classify all channels with common titles as related (e.g., “Intro toPilates” and “Pilates for Healthy Living” would be classified as relatedchannels based on the common word “Pilates” in the title).

Another option allows the requester to remain “parked” on the requestedchannel (step 303) while channel-interest manager 102 (FIG. 1)continuously updates the probability of allocation as the requesterwaits (i.e., “parks”) (step 304). Channel-interest manager 102 (FIG. 1)updates the channel interest as additional requests are made for thesame channel and recalculates the likelihood of allocation feedback,which is dynamically available to the waiting requester. Alternatively,if the requester tunes away, channel-interest manager 102 (FIG. 1)decrements the counter (those not actively waiting are not included inthe channel interest calculation) and tags the requester as “previouslyinterested” (step 305). Once the channel interest exceeds the interestthreshold (step 306), the “previously interested” requesters arenotified (step 307) by session manager 101 (FIG. 1) sending a message tothose STB clients 105 (FIG. 1).

In some embodiments, the channel-interest manager 102 (FIG. 1) may beaware of program boundaries on switched channels. With this information,the channel-interest manager 102 (FIG. 1) may determine that voting orparking by users on a channel at a particular timeframe representsinterest in the content that is scheduled for that channel at the giventimeframe (e.g., the start of the program). Delays may occur in theallocation of the channel as a result of the voting and/or parkinginterest for the channel remaining below the threshold for theallocation of the channel. These delays might normally result in theusers missing the beginning of the programming on the channel. However,in some embodiments, when the channel interest manager detects that thechannel interest for a channel may actually be a channel interest for aprogram beginning on that channel at a particular time but that theallocation may involve delays beyond that particular timeframe, it maybuffer the channel for the users. Such buffering may be accomplished bythe channel-interest manager 102 (FIG. 1) routing the channel content toa channel buffering subsystem until such time as the channel becomesavailable. Upon allocation of the channel, users may then be presentedwith the options of (a) joining the program in progress and missing thebeginning or (b) watching the program from the beginning (e.g., similarto a start-over function). In the latter case, if the program is watchedin real time, it's viewing may run beyond the beginning of the nextprogram scheduled on this or another channel and this may be undesirableto the user. Therefore, in some embodiments, an option of watching theprogram in faster than real time is provided, or alternatively an optionof skipping through some portions of the program may be enabled.

Returning to FIG. 3, any delay in the start of the program while waitingfor allocation (step 308) may be remedied by playing the channel at afaster speed (e.g., 1.02× real time playback) (step 309). This optionmay be implemented automatically (step 310) or by user-interaction (step311) as explained above For example, a caching server (e.g., a serverwith suitable tuners, decoders, and storage to cache unallocatedchannels) may be coupled to the network 108 of FIG. 1. The cachingserver may detect and cache the unallocated channels. When a previouslyunallocated channel is switched in, edge resource manager 108 (FIG. 1)may direct edge device 110 to include the stream from the cache serverfor the channel, instead of the stream from the actual source of thevideo. The fast-playback (and other trick play functions, may beprovided by the server or, alternatively, handled in local cache by theclient 107. As an alternative embodiment of this option (not shown indiagram), channel-interest manager 102 (FIG. 1) can include the“previously interested” viewers in its channel interest calculation;thus, decrementing the count in step 306 would not be necessary.

The requester may also have the option of watching displayedadvertisements or other alternative content while waiting for allocation(step 312). The alternative content may be retrieved by client 107(FIG. 1) from storage on STB 105 (FIG. 1). Alternatively,switched-services session manager 101 (FIG. 1) may offer the contentdirectly (e.g., from local storage) or indirectly by directing edgeresource manager 108 to switch in alternative content from a sourcecoupled to network 108 (FIG. 1), and update the carousel.Switched-service session manager 101 (FIG. 1) will then alert client 107(FIG. 1) to the presence of the alternative content. In response to thealert, client 107 (FIG. 1) will check the carousel and, based on a flagin the carousel or an indicator from the alert, select the alternativecontent.

Another option allows the requester to watch the most popular channel atthat moment in time (step 313). If the requester is interested in thisoption, channel-interest manager 102 (FIG. 1) the channel with thehighest interest, measured by the counter, to client 107 (FIG. 1) alongwith its corresponding frequency retrieved from carousel 106 (FIG. 1)(step 314). Client 107 may search the carousel for the most popularchannel and display it for the user (e.g., by controlling a tuner in STB105 (FIG. 1)).

A final option embodied in FIG. 3 gives the requester a choice to payfor an unallocated channel, rather than wait for possible allocation(step 315). When this option is selected, the channel may be temporarilyprovided as VOD or as tier 1 SDV and the requester is charged (step316). For example, in some embodiments, a certain amount of bandwidth isreserved for premium or pay services that is not available in thegeneral pool of bandwidth available for basic switched services. If auser wishes to pay for access to this reserved bandwidth, the servicethat he parked on or voted for is switched into this reserved bandwidth,the user is charged, and his settop is provided the information thatwill allow it to tune to the newly allocated channel. Note that thischannel may optionally be encrypted and that typically this channel isnot added to the active channel list in the carousel, since that wouldallow other users to access it as well. However, in some embodiments(which emulate the bar jukebox model where one patron's nickel providesmusic for the entire place), the channel may be paid for by one user andthen made available to others users for free or for a reduced rate thatmay be a function of the number of paying users. In one variant,additional paying users may result in discounts to the first payinguser.

VOD allocation for pay is managed similarly. Though a channel may not beallocated to the general pool of resources for free, it may be bufferedto a subsystem such as a VOD server. If a user then wishes to pay forthe service, it may be spooled directly from the VOD server in themanner it is typically done. In such cases, the user may or may not begiven trick play options on the service.

In some embodiments, such bandwidth allocation and reservation forpremium services is managed by revenue manager 103 working inconjunction with channel-interest manager 102 in switched-servicessession manager 101 of FIG. 1. Revenue manager 103 may be any suitablecombination of hardware and software for performing its featuresdescribed herein. For example, revenue manager 103 may include controlcircuitry having include one or more processors (e.g., MIPs and/orMotorola 68000 family processors), memory (e.g., RAM, ROM, flash memory,and hard disks), communications circuitry, and any other suitablecomponents for providing its features described herein.

In some embodiments, channels of the SDV system are assigned to tiers.For example, there may be a SDV premium tier and discount tiers 1, 2, 3,etc. Lower tiers may, for example, be associated with a larger tunedelay (all the way to not available) and lower probability of beingallocated. Channels may be assigned to higher or lower tiers based onobserved or predicted interest, or the expected “take” or profitabilityof the channel. Each tier may have a certain number of reserved QAMs. Inthis way, more popular or higher tier channels have a higher probabilityof being allocated to the QAM and a lower tuning delay. For example,some channels in “Tier 1” may have a guaranteed allocation.

FIG. 4 shows an illustrative method for allocating bandwidth based oninterest when a currently-allocated channel fails due to failed QAM inaccordance with one embodiment of the present invention. When a channelfails due to a QAM failure (step 401), session manager 101 (FIG. 1)communicates with ERM 108 (FIG. 1) to measure the amount of availablebandwidth (step 402) and then classifies the bandwidth as open, scarce,or full (step 403). If the bandwidth is full, the interest for thefailed QAM is considered by channel-interest manager 102 (FIG. 1) (step402) A classification of open signifies that there is ample space on thebandwidth to allocate a substantial number of new requests, scarcesignifies that only a limited amount of space remains, and fullsignifies that no space remains. These classifications may be based onany threshold amount of space that the ERM programmer determinesappropriate. When the bandwidth is open, the failed channel isreallocated (step 404). If the bandwidth is scarce or full,channel-interest manager 102 (FIG. 1) compares the channel interest andthe interest threshold (FIG. 2, step 207) and treats the failed channelas a requested channel as in FIG. 2 (see FIG. 2, steps 207-210).

FIG. 5 shows an illustrative method for de-allocating a relatively lessrequested channel in accordance with one embodiment of the presentinvention. Channel-interest manager 102 (FIG. 1) compares the number ofusers on currently allocated channels with the channel interest for arequested channel (step 501). While the channel interest for a requestedchannel remains lower than the current number of users on a currentchannel, ERM 108 (FIG. 1) does not allocate the requested channel to QAM110 (FIG. 1) (step 502) and channel-interest manager 102 (FIG. 1)continues the comparison (step 501). Once the interest for anunallocated channel exceeds the number of users for any allocatedchannel, session manager 101 (FIG. 1) considers de-allocating thatallocated channel as depicted in FIG. 6.

FIG. 6 shows an illustrative method for considering various parametersbefore de-allocating a channel in accordance with one embodiment of thepresent invention. Channel-interest manager 102 (FIG. 1) compares thenumber viewers of a channel selected for de-allocation with a non-bumpthreshold (NBT) (step 601). While the number of viewers remains lowerthan the NBT, session manager 101 (FIG. 1) instructs ERM 108 (FIG. 1)not to de-allocate that channel from QAM 110 (FIG. 1) (step 602). Oncethe number of viewers exceeds the NBT, session manager 101 (FIG. 1) mayinstruct ERM 108 (FIG. 1) to de-allocate that channel based on theamount of time that the allocated channel has been running (step 603).While the amount of running time remains lower than the NBT, sessionmanager 101 (FIG. 1) does not instruct ERM 108 (FIG. 1) to de-allocatethat channel from QAM 110 (FIG. 1) (step 604). If, in the alternative,the running time exceeds the NBT, session manager 101 (FIG. 1) maycommunicate with trend manager 104 (FIG. 1), which stores viewer trends(step 605). Viewer trends may include any appropriate external viewer orprogram information (e.g., the program is being interrupted by acommercial).

For example, the session manager 101 (FIG. 1) does not instruct ERM 108(FIG. 1) to de-allocate that channel from QAM 110 (FIG. 1) (step 606) iftrend manager 104 (FIG. 1) returns that the inactivity is due to acommercial and not lack of interest. However, if trend manager 104(FIG. 1) returns that the interest-level for the allocated channel hasdeclined, sessions manager 101 (FIG. 1) instructs ERM 108 (FIG. 1) tode-allocate that channel from QAM 110 (FIG. 1) and to allocate therequested channel 111 (FIG. 1) in its place (step 607). The bumped useris then given new viewing options including: watch as pay-per-view,watch related content, watch content of interest, wait forre-allocation, etc. (See FIG. 3).

FIG. 7 shows an illustrative method for degrading channels whenbandwidth is becoming scarce in accordance with one embodiment of thepresent invention. ERM 108 (FIG. 1) is continuously checking edge device110 (FIG. 1) to determine if the bandwidth is becoming scarce (step701). While the bandwidth remains open, ERM 108 (FIG. 1) continuesmeasuring the availability of the bandwidth (step 702). Once thebandwidth becomes scarce, ERM 108 (FIG. 1) checks the network 109(FIG. 1) to see if the allocated channel has a lower quality versionthat is currently unallocated 111 (FIG. 1) (e.g., SD rather than HD)(step 703). If a lower quality version is available, the channel isdegraded either automatically (step 704) or by user-interaction (step705). If the degrading is done automatically or if the viewer choosesde-allocation (step 706), ERM 108 (FIG. 1) replaces the higher qualityversion of the channel with the lower quality version of the channel atthe same QAM (now with more room) (step 707), by commanding edge device110 (FIG. 1) to allocate bandwidth to the source of the degraded versionof the channel.

FIG. 8 shows an illustrative method for detecting allocated programoverruns and providing options based on interest in accordance with oneembodiment of the present invention. If a program runs over (step 801),channel-interest manager 102 (FIG. 1) compares the interest for theovertime and the interest for the regularly scheduled program (step802). ERM/server 108 (FIG. 1) then sends the comparison over the networkto the cable service provider (step 803). The cable service provider isgiven the option, then, of which program to put on their regularlybroadcast QAM-overtime or regular program. If the program not selectedby the station programmer exceeds the interest threshold (step 804),that program can be put on SDV (step 805) so that both programs may beviewed simultaneously-one on the regularly broadcast channel and theother as an SDV channel.

FIGS. 9A-9P show illustrative interactive media guidance applicationmenu display screens in accordance with various embodiments of thepresent invention. After requesting an unallocated channel, sessionmanager 101 (FIG. 1) may present a requester with any one of menudisplay screens in FIGS. 9A-9P, while the requester waits for the numberof requests to exceed the interest threshold. The screens in 9A-9P areillustrative and may include any possible combination of text associatedwith the various options given to a requester disclosed in the previousembodiments of FIG. 3.

Client 107 (FIG. 1) may display screen 900 (FIG. 9A) as a requesterviews grid 901 from which he may select a channel. The interest-basedSDV channels and interest-based services in the guide may be starred orotherwise distinguished as in key 902 to indicate that they areavailable based on interest and may not be immediately available.

Client 107 (FIG. 1) may display screen 903 (FIG. 9B) once a requesterselects a channel he or she wishes to watch. A requester may indicate adesire to watch a channel by using arrow keys on a remote and pressing“enter” or using any suitable interactive media guidance function thatallows the user to select a response. Channel-interest manager 102(FIG. 1) continues to check the availability of the requested channeluntil it is allocated. As the requestor waits for allocation, “OneMoment Please” overlay 904 may be displayed over menu 905 containinghighlighted channel selection 906.

Client 107 (FIG. 1) may display screen 907 (FIG. 9C) as the requesterwaits for the channel's allocation in accordance with step 303 of FIG.3. Overlay 908 may be displayed allowing a requester to indicate adesire to wait for allocation by using arrow keys on a remote andpressing “enter” or using any suitable interactive media guidancefunction that allows the user to select a response. If “Yes” is selectedby the requester, channel-interest manager 102 (FIG. 1) continues tocheck the availability of the requested channel. If “No” is selected,client 107 (FIG. 1) may give the requester other options (e.g., FIG. 3).

Client 107 (FIG. 1) may display screen 909 (FIG. 9D) as the requesterwaits for the channel's allocation in accordance with step 303 of FIG.3. Overlay 910 may be displayed allowing a requester to indicate adesire to view the channel once it is allocated by using arrow keys on aremote and pressing “enter” or using any suitable interactive mediaguidance function that allows the user to select a response. If “Yes” isselected by the requester, channel-interest manager 102 (FIG. 1)continues to check the availability of the requested channel, tuningthat “interested” requester to the channel as it is allocated. If “No”is selected, client 107 (FIG. 1) may give the requester other options,(e.g., FIG. 3).

Client 107 (FIG. 1) may display screen 911 (FIG. 9E) as the requesterwaits for the channel's allocation in accordance with step 303 of FIG.3. Overlay 912 may be displayed over the currently viewed channel 913,while the name of the requested channel 914 is displayed at the bottomof screen 911. Channel-interest manager 102 (FIG. 1) continues to checkthe availability of the requested channel until it is allocated.

Client 107 (FIG. 1) may display screen 915 (FIG. 9F) as the requesterwaits for the channel's allocation in accordance with step 303 of FIG.3. Overlay 916 indicates that the channel is presently unavailable andalso provides feedback to the requester of the likelihood of allocationin accordance with step 304 of FIG. 3.

Client 107 (FIG. 1) may display screen 917 (FIG. 9G) as the requesterwaits for the channel's allocation in accordance with step 303 of FIG.3. Overlay 918 may be displayed allowing a requester to indicate adesire to wait for allocation by using arrow keys on a remote andpressing “enter” or using any suitable interactive media guidancefunction that allows the user to select a response. If “Yes” is selectedby the requester, channel-interest manager 102 (FIG. 1) continues tocheck the availability of the requested channel until time X has passed.If “No” is selected, client 107 (FIG. 1) may give the requester otheroptions (e.g., FIG. 3).

Client 107 (FIG. 1) may display screen 919 (FIG. 9H) as the requesterwaits for the channel's allocation in accordance with step 303 of FIG.3. Overlay 920 may be displayed allowing a requester to indicate adesire to be notified of allocation by using arrow keys on a remote andpressing “enter” or using any suitable interactive media guidancefunction that allows the user to select a response. If “Yes” is selectedby the requester, channel-interest manager 102 (FIG. 1) continues tocheck the availability of the requested channel, notifying that“previously interested” requester as the channel is allocated. If “No”is selected, client 107 (FIG. 1) may give the requester other options(e.g., FIG. 3). Screen 905 (FIG. 9F) is illustrative of the notificationembodiment of the present invention. An interested user may also benotified automatically by channel-interest manager 102 (FIG. 1) taggingthe requester as “previously interested” before he or she tunes awayfrom the requested channel (See FIG. 3, step 305).

Client 107 (FIG. 1) may display screen 921 (FIG. 9I) as the requesterwaits for the channel's allocation in accordance with step 301 of FIG.3. Overlay 920 may be displayed allowing a requester to indicate adesire to watch related content by using arrow keys on a remote andpressing “enter” or using any suitable interactive media guidancefunction that allows the user to select a response. If “Yes” is selectedby the requester, the STB 105 (FIG. 1) tunes to a previously allocatedchannel with related content. If “No” is selected, client 107 (FIG. 1)may give the requester other options (e.g., FIG. 3).

Client 107 (FIG. 1) may display screen 923 (FIG. 9J) if the requesterselects “Yes” to watching related content before tuning to the allocatedchannel with related content. Overlay 924 may be displayed allowing arequester to indicate a desire to be notified of allocation by usingarrow keys on a remote and pressing “enter” or using any suitableinteractive media guidance function that allows the user to select aresponse. Channel-interest manager 102 (FIG. 1) continues to check theavailability of the requested channel, notifying that “previouslyinterested” requester as the channel is allocated. If “No” is selected,client 107 (FIG. 1) may give the requester other options (e.g., FIG. 3).

Client 107 (FIG. 1) may display screen 925 (FIG. 9K) as the requesterwaits for the channel's allocation in accordance with step 313 of FIG.3. Overlay 926 may be displayed allowing a requester to indicate adesire to watch the most popular channel by using arrow keys on a remoteand pressing “enter” or using any suitable interactive media guidancefunction that allows the user to select a response. If “Yes” is selectedby the requester, the STB 105 (FIG. 1) tunes to a previously allocatedchannel with the highest number of users at that given moment. If “No”is selected, client 107 (FIG. 1) may give the requester other options(e.g., FIG. 3).

Client 107 (FIG. 1) may display screen 927 (FIG. 9L) if the requesterselects “Yes” to watching the most popular channel before tuning to theallocated channel with the highest number of requests. Overlay 928 maybe displayed allowing a requester to indicate a desire to be notified ofallocation by using arrow keys on a remote and pressing “enter” or usingany suitable interactive media guidance function that allows the user toselect a response. Channel-interest manager 102 (FIG. 1) continues tocheck the availability of the requested channel, notifying that“previously interested” requester as the channel is allocated. If “No”is selected, client 107 (FIG. 1) may give the requester other options(e.g., FIG. 3).

Client 107 (FIG. 1) may display screen 929 (FIG. 9M) as the requesterwaits for the channel's allocation in accordance with step 315 of FIG.3. Overlay 930 may be displayed allowing a requester to indicate adesire to pay to watch the requested channel by using arrow keys on aremote and pressing “enter” or using any suitable interactive mediaguidance function that allows the user to select a response. If “Yes” isselected by the requester, the requested channel may be temporarilystored as VOD or as a tier 1 channel, guaranteeing its allocation (SeeFIG. 3, step 316). If “No” is selected, client 107 (FIG. 1) may give therequester other options (e.g., FIG. 3).

Client 107 (FIG. 1) may display screen 931 (FIG. 9N) if the requesterselects “Yes” to watching the channel as pay-per-view before chargingthe requester. Overlay 932 may be displayed allowing a requester toconfirm a desire to pay to watch the requested channel by using arrowkeys on a remote and pressing “enter” or using any suitable interactivemedia guidance function that allows the user to select a response. If“Yes” is selected by the requester, the STB 105 (FIG. 1) tunes to therequested channel in accordance with step 316 of FIG. 3 and therequester is charged. If “Exit” is selected, client 107 (FIG. 1) maygive the requester other options (e.g., FIG. 3).

Client 107 (FIG. 1) may display screen 933 (FIG. 9O) as the requesterwaits for the channel's allocation to bandwidth in accordance with step315 of FIG. 3. Screen 912 (FIG. 9O) also provides feedback to therequester of likelihood of allocation before the requester commits topaying for the channel. Overlay 934 may be displayed allowing arequester to indicate a desire to pay to watch the requested channel byusing arrow keys on a remote and pressing “enter” or using any suitableinteractive media guidance function that allows the user to select aresponse. If “Yes” is selected by the requester, the requested channelmay be temporarily stored as VOD or as a tier 1 channel, guaranteeingits allocation (See FIG. 3, step 316). If “No” is selected, client 107(FIG. 1) may give the requester other options (e.g., FIG. 3).

Client 107 (FIG. 1) may display screen 935 (FIG. 9P) if the requesterselects “Yes” to watching the channel as pay-per-view before chargingthe requester. Overlay 936 may be displayed allowing a requester toconfirm a desire to pay to watch the requested channel by using arrowkeys on a remote and pressing “enter” or using any suitable interactivemedia guidance function that allows the user to select a response. If“Yes” is selected by the requester, the STB 105 (FIG. 1) tunes to therequested channel in accordance with step 316 of FIG. 3 and therequester is charged. If “Exit” is selected, client 107 (FIG. 1) maygive the requester other options (e.g., FIG. 3).

The screens in FIGS. 9A-9P may also have paid advertisements displayedin the background of the text in accordance with step 312 of FIG. 3.

The above described embodiments of the present invention are presentedfor purposes of illustration and not of limitation, and the presentinvention is limited only by the claims which follow. Furthermore, allof the flow charts and processes described above or illustrative. Stepsmay be added or removed to any of the flow charts, and steps may beperformed in a different order.

1. A method for allocating bandwidth to channels in a switched digitalvideo (SDV) system based on channel interest, comprising: determiningthe interest in a channel requested by an SDV client in the SDV system,wherein the interest is a function of requests for the channel from aplurality of SDV clients; determining whether the interest for therequested channel meets an interest threshold; and in response todetermining that interest for the requested channel meets the interestthreshold, allocating bandwidth to the requested channel and making therequested channel available for access by the requesting SDV client. 2.The method defined in claim 1 wherein the function is a weighted sum. 3.The method defined in claim 1 wherein determining whether the interestfor the requested channel meets an interest threshold comprisesdetermining the number of times the channel was previously requested byan SDV client and tuned away from when bandwidth was not allocated. 4.The method defined in claim 1 wherein determining whether the interestfor the requested channel meets an interest threshold comprisesdetermining the number of votes made for the channel, wherein the votesare requests made by SDV clients for the channel to be available at ascheduled time.
 5. The method defined in claim 1 further comprisingresponding to a request for the channel with data indicative of thelikelihood that bandwidth will be allocated to the requested channel. 6.The method defined in claim 1 wherein allocating bandwidth to therequested channel and making the requested channel available for accesscomprises transmitting a portion of the content of the requested channelat a rate faster than its normal transmission rate.
 7. The methoddefined in claim 1 further comprising: in response to determining thatinterest for the requested channel does not meet the interest threshold,offering alternative content to at least one of the requesting clients.8. The method defined in claim 7 wherein the alternative contentcomprises one or more advertisements.
 9. The method defined in claim 7wherein the alternative content comprises content related to the contenton the requested channel.
 10. The method defined in claim 7 wherein thealternative content comprises content on a channel having greaterinterest than the requested channel.
 11. The method defined in claim 1further comprising in response to determining that the interest for therequested channel does not meet the interest threshold, making thechannel available to the SDV client as a pay-per-view channel orvideo-on-demand offering.
 12. The method defined in claim 1 furthercomprising, in response to determining that interest for the channelmeets the interest threshold, notifying requesting SDV clients that therequested channel is available for access.
 13. The method defined inclaim 1 wherein allocating bandwidth to the requested channel and makingthe requested channel available further comprises deallocating bandwidthfrom a channel having a lesser interest and allocating the requestedchannel.
 14. The method defined in claim 13 further comprising:subsequently reallocating bandwidth to the channel having the lesserinterest; and in response to reallocating bandwidth from the channelhaving the lesser interest, notifying SDV clients that were previouslytuned to the channel having the lesser interest at the time bandwidthwas deallocated that bandwidth has been reallocated to the channel. 15.A method for providing alternative actions to a user of a switcheddigital video (SDV) client when a requested channel is denied,comprising: transmitting a request for an unallocated SDV channel to aswitched digital video session manager; receiving a message from the SDVsession manager denying the request; and in response to the message,informing the user that the channel is not allocated and allowing theuser to wait for the channel to be allocated, providing the user withaccess to the requested channel as a pay-per-view channel, or providingthe user with access to the requested channel as a video-on-demand (VOD)service.
 16. The method defined in claim 15 further comprising, inresponse to the message from the SDV session manager, offeringalternative content to the user.
 17. The method defined in claim 16wherein the alternative content comprises one or more advertisements.18. The method defined in claim 16 wherein the alternative contentcomprises content related to the content on the requested channel. 19.The method defined in claim 16 wherein the alternative content comprisescontent on a channel having interest meeting the interest threshold. 20.A method for providing users of a switched digital video (SDV) clientwith notifications of reallocated channels comprising: detecting thatbandwidth for a currently tuned channel has been deallocated from theSDV system; and subsequently notifying the user when bandwidth has beenreallocated for the channel.
 21. The method defined in claim 20 furthercomprising in response to detecting the deallocation of the bandwidth,offering alternative content.
 22. The method defined in claim 21 whereinthe alternative content comprises one or more advertisements.
 23. Themethod defined in claim 21 wherein the alternative content comprisescontent related to the content on the deallocated channel.
 24. Themethod defined in claim 20 further comprising providing the user withaccess to the deallocated channel as a pay-per-view or video-on-demandchannel.
 25. A method for allocating QAMs in a mixed service system as afunction of interest, comprising: determining whether interest for aswitched digital video (SDV) channel exceeds interest for avideo-on-demand (VOD) channel; and allocating a QAM to the SDV channelor the VOD channel based on which of the two has higher interest. 26.The method defined in claim 25 wherein allocating the QAM comprises, inresponse to determining that interest for the VOD channel exceeds thatof the SDV channel, allocating a QAM of the SDV channel to the VODchannel.
 27. A method for allocating QAMs in a mixed service system as afunction of potential revenue from a channel, comprising: determiningwhether potential revenue derived from expected future use of a switcheddigital video (SDV) channel would exceed potential revenue derived fromexpected future use of a video-on-demand (VOD) channel; and allocating aQAM to the SDV channel or the VOD channel based on which of the two hashigher potential revenue based on expected future use.
 28. The methoddefined in claim 27 wherein determining whether potential revenue fromexpected future use of the SDV channel would exceed potential revenuederived from expected future use of the VOD channel comprisesdetermining which channel would have higher expected advertisementrevenues.
 29. The method defined in claim 28 wherein allocating the QAMcomprises, in response to determining that the future revenues for theVOD channel exceeds that of the SDV channel, allocating a QAM of the SDVchannel to the VOD channel.
 30. A method for assigning channels in aswitched digital video (SDV) service to tiers, comprising: assigningchannels of an SDV service to a plurality of tiers, wherein each tier ofthe plurality of tiers is associated with an observed or expectedinterest or revenue stream; and reserving QAMs within the SDV channelfor each tier, wherein tiers having higher observed or expected interestor revenue streams are allocated more QAMs than tiers having lesserobserved or expected interest or revenue streams.
 31. A method foraccommodating bandwidth constraints in a switched digital video (SDV)system comprising: receiving a request for a channel; determiningwhether sufficient bandwidth exists to allow the requested channel to beswitched into the system; in response to determining insufficientbandwidth exists to switch the requested channel into the system,degrading the quality of a channel to allow the requested channel to beswitched into the SDV system; and switching the requested channel intothe SDV system.
 32. The method defined in claim 31 wherein degrading thequality of a channel comprises degrading the quality of the requestedchannel.
 33. The method defined in claim 31 wherein degrading thequality of a channel comprises degrading the quality of a channel otherthan the requested channel.
 34. The method defined in claim 31 whereindegrading the quality of a channel comprises: identifying an HD channelhaving a corresponding SD version; switching the HD version of thechannel out of the SDV system; and switching the SD version of thechannel into the SDV system.
 35. A method for addressing programoverruns in a switched digital video (SDV) system, comprising: detectinga program overrun on a first channel currently allocated bandwidth inthe SDV system; determining whether the interest for the program overrunexceeds interest for a regularly scheduled program; in response todetermining that the interest for the program overrun exceeds theinterest for the regularly scheduled program, allocating bandwidth for asecond channel in the SDV system to accommodate the program overrun. 36.The method defined in claim 35 wherein allocating bandwidth for a secondchannel in the SDV system to accommodate the program overrun comprisescarrying the overrunning program on the second channel.
 37. A method forhandling emergency access service (EAS) events in a switched digitalvideo (SDV) system comprising: persistently transmitting tuninginformation for an EAS channel in a carousel data feed to SDV clients;and in response to an EAS event, switching clients to the EAS channelaccording to the tuning information.
 38. A switched digital video (SDV)system for allocating bandwidth to channels based on channel interest,comprising: an edge device; a switched-services session managercomprising a channel-interest manager, wherein the channel interestmanager is configured to: determine the interest in a channel in the SDVsystem wherein the interest is a function of requests for the channelfrom a plurality of SDV clients; and determine whether the interest forthe requested channel meets an interest threshold; and an edge resourcemanager configured to, in response to the channel-interest managerdetermining that interest for the requested channel meets the interestthreshold, direct the edge device to allocate bandwidth to the requestedchannel, making the requested channel available for access by therequesting SDV client.
 39. The system defined in claim 38 wherein thefunction is a weighted sum.
 40. The system defined in claim 38 whereinthe channel-interest manager is further configured to determine theinterest by determining the number of times the channel was previouslyrequested by an SDV client and tuned away from when bandwidth was notallocated.
 41. The system defined in claim 38 the channel-interestmanager is further configured to determine the interest by determiningthe number of votes made for the channel, wherein the votes are requestsmade by SDV clients for the channel to be available at a scheduled time.42. The system defined in claim 38 wherein the channel-interest manageris further configured to respond to the request with data indicative ofthe likelihood that bandwidth will be allocated to the requestedchannel.
 43. The system defined in claim 38 wherein theswitched-services session manager is further configured to offer aportion of content of the requested channel at a rate faster than itsnormal transmission rate.
 44. The system defined in claim 38 wherein theswitched-services session manager is further configured to, in responseto the channel-interest manager determining that interest for therequested channel does not meet the interest threshold, offeralternative content to at least one of the requesting clients.
 45. Thesystem defined in claim 44 wherein the alternative content comprises oneor more advertisements.
 46. The system defined in claim 44 wherein thealternative content comprises content related to the content on therequested channel.
 47. The system defined in claim 44 wherein thealternative content comprises content on a channel having greaterinterest than the requested channel.
 48. The system defined in claim 38wherein the switched-services session manager is further configured to,in response to channel-interest manager determining that the interestfor the requested channel does not meet the interest threshold, directthe edge resource manager to make the channel available to the SDVclient as a pay-per-view channel or video-on-demand offering.
 49. Thesystem defined in claim 38 wherein the switched-services session manageris further configured to, in response to the channel-interest managerdetermining that interest for the channel meets the interest threshold,notify prior requesting SDV clients that the requested channel isavailable for access.
 50. The system defined in claim 38 wherein thechannel-interest manager is further configured to direct the edgeresource manager to deallocate bandwidth from a channel having a lesserinterest and allocating the bandwidth of the channel having a lesserinterest to the requested channel.
 51. The system defined in claim 50wherein: the channel-interest manager is further configured tosubsequently direct the edge resource manager to reallocate bandwidth tothe channel having the lesser interest; and the switched-servicessession manager is configured to, in response to the edge resourcemanager reallocating bandwidth to the channel having the lesserinterest, notify SDV clients that were tuned to the channel having thelesser interest at the time bandwidth was deallocated that bandwidth hasbeen reallocated to the channel.
 52. A switched digital video (SDV)system client for providing alternative actions to a user when arequested channel is denied, comprising: communications circuitry; andcontrol circuitry configured to: direct the communications circuitry totransmit a request for an unallocated SDV channel to a switched digitalvideo session manager; and in response to the communications circuitryreceiving a message from the SDV session manager denying the request,informing the user that the channel is not allocated and allowing theuser to wait for the channel to be allocated, providing the user withaccess to the requested channel as a pay-per-view channel, or providingthe user with access to the requested channel as a video-on-demand (VOD)service.
 53. The system defined in claim 52 wherein the controlcircuitry is further configured to, in response to the communicationscircuitry receiving the message from the SDV session manager, offeringalternative content to the user.
 54. The system defined in claim 53wherein the alternative content comprises one or more advertisements.55. The system defined in claim 53 wherein the alternative contentcomprises content related to the content on the requested channel. 56.The system defined in claim 53 wherein the alternative content comprisescontent on a channel having greater interest than the requested channel.57. A switched digital video (SDV) system client for providing userswith notifications of reallocated channels comprising control circuitryconfigured to: detect that bandwidth for a currently tuned channel hasbeen deallocated from the SDV system; and subsequently notifying theuser when bandwidth has been reallocated for the channel.
 58. The systemdefined in claim 57 wherein the control circuitry is further configuredto, in response to detecting the deallocation of the bandwidth, offeringalternative content to the user.
 59. The system defined in claim 58wherein the alternative content comprises one or more advertisements.60. The system defined in claim 58 wherein the alternative contentcomprises content related to the content on the deallocated channel. 61.The system defined in claim 57 further configured to provide the userwith access to the deallocated channel as a pay-per-view orvideo-on-demand channel.
 62. A switched digital video (SDV) system forallocating QAMs in a mixed service system as a function of interest,comprising: an edge resource manager; and a channel-interest managerconfigured to: determine whether interest for a SDV channel exceedsinterest for a video-on-demand (VOD) channel; and direct the edgeresource manager to allocate a QAM to the SDV channel or the VOD channelbased on which of the two has higher interest.
 63. The system defined inclaim 62 wherein the channel-interest manager is further configured todirect the edge resource manager to allocate a QAM of the SDV channel tothe VOD channel.
 64. A switched digital video (SDV) system forallocating QAMs in a mixed service system as a function of potentialrevenue, comprising: an edge resource manager; and a revenue managerconfigured to: determine whether potential revenue derived from expectedfuture use of a SDV channel would exceed potential revenue derived fromexpected future use of a video-on-demand (VOD) channel; and direct theedge resource manager to allocate a QAM to the SDV channel or the VODchannel based on which of the two has higher potential revenue based onexpected future use.
 65. The system defined in claim 64 wherein theresource manager is further configured to determine which channel wouldhave higher expected advertisement revenues.
 66. The system defined inclaim 65 wherein the resource manager is further configured to, inresponse to determining that the future revenues for the VOD channelexceeds that of the SDV channel, direct the edge resource manager toallocate a QAM of the SDV channel to the VOD channel.
 67. A switcheddigital video (SDV) system for assigning channels in a SDV service totiers, comprising a switched services session manager configured to:assign channels of an SDV service to a plurality of tiers, wherein eachtier of the plurality of tiers is associated with an observed orexpected interest or revenue stream; and reserve QAMs within the SDVchannel for each tier, wherein tiers having higher observed or expectedinterest or revenue streams are allocated more QAMs than tiers havinglesser observed or expected interest or revenue streams.
 68. A switcheddigital video (SDV) system for accommodating bandwidth constraints,comprising: an edge resource manager; and a channel-interest managerconfigured to: determine whether sufficient bandwidth exists to allow arequested channel to be switched into the system; in response todetermining insufficient bandwidth exists to switch the requestedchannel into the system, direct the edge resource manager to switch achannel with degraded quality into the system to allow the requestedchannel to be switched into the SDV system.
 69. The system defined inclaim 68 wherein the edge resource manager is configured to switch therequested channel with degraded quality into the system in response tothe direction of the channel-interest manager.
 70. The system defined inclaim 68 wherein the edge resource manager is configured to switch achannel other than the requested channel, in response to the directionof the channel-interest manager.
 71. The system defined in claim 68wherein the channel-interest manager is further configured to: identifyan HD channel having a corresponding SD version; direct the edgeresource manager to switch the HD version of the channel out of the SDVsystem; and direct the edge resource manager to switch the SD version ofthe channel into the SDV system.
 72. A switched digital video (SDV)system for addressing program overruns, comprising: an edge resourcemanager; and a channel-interest manager configured to: detect a programoverrun on a first channel currently allocated bandwidth in the SDVsystem; determine whether the interest for the program overrun exceedsinterest for a regularly scheduled program; and in response todetermining that the interest for the program overrun exceeds theinterest for the regularly scheduled program, direct the edge resourcemanager to allocate bandwidth for a second channel in the SDV system toaccommodate the program overrun.
 73. The system defined in claim 72wherein the second channel carries the overrunning program.
 74. Aswitched digital system for handling emergency access service (EAS)events, comprising: an edge resource manager; and a channel-interestmanager configured to: persistently transmit tuning information for anEAS channel in a carousel data feed to SDV clients; and in response toan EAS event, switch the clients to the EAS channel according to thetuning information.
 75. A method for allocating bandwidth to channels ina switched digital video (SDV) system based on channel interest,comprising: determining the interest in a channel in an SDV system,wherein the interest is a function of a plurality of SDV client requestsfor that channel; determining whether interest for the requested channelmeets an interest threshold; and in response to determining thatinterest for the requested channel meets the interest threshold,allocating bandwidth to the requested channel and making the requestedchannel available for access by the requesting SDV client.
 76. Themethod defined in claim 75, wherein channels in the SDV service aredivided between two or more tiers of channels, each tier having anassociated threshold, wherein at least two of the thresholds aredifferent.
 77. The method defined in claim 75 wherein the channel is anemergency alert system channel.
 78. A system for allocating bandwidth tochannels in a switched digital video (SDV) system based on channelinterest, comprising: an edge resource manager; and a channel interestmanager configured to: determine the interest in a channel in an SDVsystem, wherein the interest is a function of a plurality of SDV clientrequests for that channel; determine whether interest for the requestedchannel meets an interest threshold; and in response to determining thatinterest for the requested channel meets the interest threshold, directthe edge resource manager to allocate bandwidth to the requested channeland making the requested channel available for access by the requestingSDV client.
 79. The system defined in claim 78, wherein channels in theSDV service are divided between two or more tiers of channels, each tierhaving an associated threshold, wherein at least two of the thresholdsare different.
 80. The system defined in claim 78 wherein the channel isan emergency alert system channel. 81-120. (canceled)
 121. A method forproviding a start-over feature that allows a user to watch a programfrom the beginning even through the user has tuned to the channel forthe program after the program has begun, comprising: caching a copy ofthe program on a video server; providing an option to the user to watchthe program after it has already begun at a rate that is faster than thereal time rate of the program so that it will fit into a duration thatis less than the originally scheduled duration for the program;determining the time remaining for the program; and in response to theuser selecting the option, streaming the program to the user from itsbeginning at a rate that is faster than the real time rate of theprogram so that the viewing time of the stream is substantially the timeremaining in the originally scheduled timeslot for the program.
 122. Themethod of claim 121, wherein the pitch of the program is algorithmicallycorrected so it remains substantially the same after rate adjustment asit was before the rate adjustment.
 123. A system for providing astart-over feature that allows a user to watch a program from thebeginning even through the user has tuned to the channel for the programafter the program has begun, comprising: a client application,implemented on the user's set-top box, configured to provide an optionto the user to watch the program after it has already begun at a ratethat is faster than the real time rate of the program so that it willfit into a duration that is less than the originally scheduled durationfor the program; and a video server configured to: cache the program;and in response to the user selecting the option, streaming the programto the user from its beginning at a rate that is faster than the realtime rate of the program so that the viewing time of the stream issubstantially the time remaining in the originally scheduled timeslotfor the program.
 124. The system of claim 123, wherein the video serveris further configured to algorithmically correct the pitch of theprogram so it remains substantially the same after rate adjustment as itwas before the rate adjustment. 125-126. (canceled)